/**
 * 
 */
package com.skivingcloud.file.store;

import java.io.InputStream;

import com.skivingcloud.file.entity.SysFile;


/**
 * 文件操作接口,各存储方案实现该接口
 * @author hushouquan
 *
 */
public interface FileStorageDao {

	/**
	 * 保存文件的方法
	 * @param fileManagement
	 * @param fileInputStream 
	 * @throws Exception 
	 */
	void saveFile(SysFile fileManagement, InputStream fileInputStream) throws Exception;

	/**
	 * 读取文件的方法
	 * @param fileManagement
	 * @return
	 * @throws Exception 
	 */
	InputStream getFile(SysFile fileManagement) throws Exception;

	/**
	 * 作废或删除文件，实际上是把文件移动到“作废”或“已删除”文件夹下
	 * @param fileManagement
	 * @param fileState
	 * @throws Exception 
	 */
	void moveFilePath(SysFile fileManagement, String fileState) throws Exception;

}
